/* 共通のCSS */

/* PC版 */
html {
  text-align: center;
  color: #525252;
  font-size: 62.5%
}

body {
  font-family: "Noto Sans JP";
}

.anchor {
  display: block;
  position: relative;
  top: -8.20rem;
}

.contents-wrapper {
  width: 140.0000rem;
  margin: auto;
  position: relative;
  height: 100%;
  text-align: center;
}

header {
  background-color: #2699fb;
  min-width: 140.0000rem;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 99999;
}

.header-wrapper {
  height: 8.2000rem;
  width: 140.0000rem;
  margin: auto;
}

.header-company:hover .header-company-menu {
  display: block;
}

.logo {
  margin: 1.4000rem 0 1.4000rem 8.5000rem;
  float: left;
  width: 16.6000rem;
  height: 5.4000rem;
}

.header-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: inherit;
  padding-right: 12.5000rem;
}

.header-right li {
  float: left;
  padding-left: 3.5000rem;
  height: 7.0000rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-right li a {
  font-size: 1.6000rem;
  color: white;
  text-decoration: none;
  height: 100%;
  display: flex;
  align-items: center;
}

.header-company-menu {
  top: 7.1000rem;
  width: 15.4000rem;
}

.header-work-menu {
  top: 7.1000rem;
  width: 24.3000rem;
}

.header-recruit-menu {
  top: 7.1000rem;
  width: 15.4000rem;
}

.header-mobile-menu-content {
  display: none;
}

.header-submenu {
  z-index: 999;
  position: absolute;
  border: 0.2000rem solid #2699fb;
  background-color: #ffffff;
  display: none;
  transition: display 0.5s ease-in-out;
}

.header-submenu a {
  text-decoration: none;
  color: #525252 !important;
}

.header-submenu li {
  padding: 1.6000rem 0;
  border-bottom: 0.1000rem solid #dadada;
  width: inherit;
  text-align: center;
  height: auto;
  position: relative;
}

.header-submenu li:last-child {
  border-bottom: none;
}

.header-company:hover .header-company-menu,
.header-work:hover .header-work-menu,
.header-recruit:hover .header-recruit-menu {
  display: block;
  transition: display 0.5s ease-in-out;
}

.top-img {
  position: relative;
  width: 100%;
}

.top-wrapper {
  padding-top: 8.2000rem;
  width: 140.0000rem;
  margin: auto;
  position: relative;
}

.catchcopy {
  position: absolute;
  top: 38.0000rem;
  width: inherit;
  text-align: center;
  left: 0;
  right: 0;
  margin: auto;
}

.catchcopy h1 {
  text-align: center;
  color: #ffffff;
  opacity: 1;
  font: normal normal 600 11.7000rem/15.6000rem Futura-PT;
  text-shadow: 1.5000rem 1.6000rem 2.6000rem #00000053;
}

.catchcopy h2 {
  text-align: center;
  color: #ffffff;
  opacity: 1;
  font: normal normal 500 4.0000rem/5.5000rem Noto Sans;
  padding-top: 1.4000rem;
  font-weight: 700;
}

footer {
  background-color: #2699fb;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  min-width: 140.0000rem;
}

.footer-wrapper {
  margin: auto;
  width: 140.0000rem;
}

.footer-logo {
  padding-top: 10.2000rem;
  margin: auto;
  width: 16.6000rem;
}

.footer3 {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 4.4000rem;
  margin-bottom: 4.2000rem;
}

.footer3 li {
  float: left;
  padding: 0 3.0000rem;
}

.li-middle {
  border-left: 0.1000rem solid #ffffff;
  border-right: 0.1000rem solid #ffffff;
}

.footer3 a {
  font-size: 1.6000rem;
  color: white;
  font-weight: 500 !important;
  text-decoration: underline;
}

.footer-bottom {
  margin: auto;
  color: white;
}

.footer-bottom p {
  font-size: 1.6000rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 0;
  line-height: 1.5em;
}

.footer-address {
  margin: auto;
  text-align: center;
}

.footer-address-1 {
  border-right: 0.1000rem solid #ffffff;
  padding-right: 2.5000rem;
  font-size: 1.6000rem;
}

.footer-address-2 {
  padding-left: 2.0000rem;
  font-size: 1.6000rem;
}

.footer-bottom > .chosakuken {
  padding-top: 6.0000rem;
  color: white;
  padding-bottom: 4.3000rem;
  font-size: 1.4000rem;
}

.footer-privacy {
  background-color: white;
  margin: auto;
  width: 140.0000rem;
}

.footer-privacy p {
  width: 68.0000rem;
  height: auto;
  color: #292929;
  opacity: 1;
  text-align: left;
  padding: 5.1000rem 12.3000rem 4.1000rem 0;
  float: right;
  font-size: 1.4000rem;
  font-weight: Regular;
  font-family: "Noto Sans";
}

#pMark:hover {
  cursor: pointer;
}

.kenkou-privacy-img {
  padding: 4.1000rem;
  float: left;
  padding-left: 15.4000rem;
}

.kenkou-img {
  width: 15rem;
  height: 6.8rem;
}

.privacy-img {
  width: 7.5rem;
  height: 7.5rem;
}

.stress-free-img {
  width: auto;
  height: 7.5000rem;
}

.go-icon {
  margin-right: 2.4000rem;
  width: 2.2000rem;
  height: 2.2000rem;
}

.content-icon {
  margin-right: 1.3000rem;
  width: 2.2000rem;
  height: 2.2000rem;
  display: block;
}

.content-title {
  font: normal normal bold 4.0000rem/5.5000rem Noto Sans;
  letter-spacing: 0.1380rem;
  color: #333333;
  opacity: 1;
  line-height: 6.2000rem;
}

.content-title-blue {
  font-family: Futura-PT-Bold;
  color: #2699fb;
  line-height: 6.6000rem;
  font-size: 5.0000rem;
}

.content-title-white {
  font-family: Futura-PT-Bold;
  color: #ffffff;
  line-height: 6.6000rem;
  font-size: 5.0000rem;
}

.content-subtitle-black {
  font-family: Futura-PT-Bold;
  color: #333333;
  font-size: 2.0000rem;
}

.no-line-break-1400 {
  display: block;
}

.mobile-line-break-300 {
  display: none;
}

.mobile-line-break-600 {
  display: none;
}

.recruit-circle {
  width: 16.8000rem;
  height: 16.8000rem;
  background-color: #fb8026;
  color: #ffffff;
  opacity: 0.7;
  position: absolute;
  text-align: center;
  border-radius: 50%;
  display: table;
  font: normal normal bold 1.8000rem/3.0000rem Noto Sans JP;
  letter-spacing: 0.0540rem;
  right: 2.5000rem;
  top: 0.5000rem;
}

.recruit-circle:hover {
  opacity: 1;
  cursor: pointer;
  top: 0.0000rem;
  transition: top 0.5s;
}

.recruit-circle a {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.6000rem;
  text-align: center;
  width: inherit;
  line-height: 5.0000rem;
}

.recruit-triangle {
  width: 0;
  height: 0;
  border: 2.7500rem solid transparent;
  border-top: 0;
  border-bottom: 4.5000rem solid white;
  margin: auto;
}

.entry-circle {
  width: 16.8000rem;
  height: 16.8000rem;
  background-color: #2699fb;
  color: #ffffff;
  opacity: 0.7;
  position: absolute;
  text-align: center;
  border-radius: 50%;
  display: table;
  font: normal normal bold 1.8000rem/3.0000rem Noto Sans JP;
  letter-spacing: 0.0540rem;
  top: 19.0000rem;
  right: 2.5000rem;
}

.entry-circle:hover {
  opacity: 1;
  cursor: pointer;
  top: 18.5000rem;
  transition: top 0.5s;
}

.circle-wrapper {
  position: fixed;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 9998;
  width: 18.0000rem;
  height: 40.0000rem;
}

.circle-wrapper-single {
  height: 20.0000rem;
}

.big-entry {
  font-size: 3.2000rem;
}

.small-entry {
  font-size: 1.6000rem;
  display: block;
}

.circle-content {
  display: table-cell;
  vertical-align: middle;
  width: inherit;
}

.another-top-wrapper {
  padding-top: 8.2000rem;
  width: 140.0000rem;
  height: 30.0000rem;
  margin: auto;
  position: relative;
}

.another-top-img {
  position: relative;
  width: 100%;
}

.another-top-title {
  position: absolute;
  top: 16.0000rem;
  left: 0;
  right: 0;
  margin: auto;
  color: #ffffff;
}

.another-top-title h1 {
  font-size: 6.4000rem;
  font-weight: 700;
  font-family: Futura-PT-Bold, Noto Sans JP;
}

.another-top-title h2 {
  font-size: 3.2000rem;
  font-family: Futura-PT-Bold, Noto Sans JP;
  width: auto;
  margin-top: 1.0000rem;
}

.another-top-title mark {
  background-color: #2699fb;
  color: #ffffff;
  padding-left: 1.0000rem;
  padding-right: 1.0000rem;
}

.hr-blue {
  background-color: #2699fb;
  border: #2699fb 0.1000rem solid;
}

.arrow-grey {
  display: inline-block;
  width: 0.7000rem;
  height: 0.7000rem;
  border-top: solid 0.1500rem #b8b8b8;
  border-right: solid 0.1500rem #b8b8b8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 0.8000rem;
  margin-right: 1.0000rem;
  margin-bottom: 0.1000rem;
}

.blue-half-arrow {
  left: 0.4000rem;
  width: 17.9000rem;
  height: 0.2000rem;
  background: #2699fb;
  position: relative;
  display: inline-block;
  padding: 0 0 0 1.6000rem;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 1.5000rem;
}

.blue-half-arrow::before,
.blue-half-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.blue-half-arrow::after {
  left: 18.5000rem;
  width: 0.8000rem;
  height: 0.8000rem;
  border-top: 0.2000rem solid #2699fb;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.content-table-wrapper {
  width: 140.0000rem;
  height: 43.2000rem;
  position: relative;
  margin: auto;
}

.content-table {
  position: absolute;
  width: 103.6000rem;
  height: 31.4000rem;
  border: 0.1000rem solid #0000000d;
  box-shadow: 1.3000rem 1.3000rem 1.6000rem #00000012;
  border-radius: 0.8000rem;
  background-color: #ffffff;
  top: -3.2000rem;
  left: 8.0000rem;
  text-align: left;
  padding: 1.8000rem 10.2000rem 0.0000rem 10.2000rem;
}

.content-table h1 {
  font-family: Futura-PT-Bold;
  font-size: 3.2000rem;
  color: #333333;
}

.content-table hr {
  height: 0.2000rem;
  background-color: #333333;
  border: none;
  margin-bottom: 4.5000rem;
}

.content-page-wrapper {
  display: flex;
  justify-content: space-between;
}

.content-page {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 4.0000rem;
  color: #333333;
  font-size: 1.6rem;
}

.content-page:hover {
  cursor: pointer;
}

.content-page-big {
  font-size: 2.4000rem;
  font-weight: 700;
  line-height: 2.4000rem;
  margin: 0 2.4000rem;
}

.a-reset {
  text-decoration: none;
}

@media screen and (min-width: 601px) and (max-width: 1399px) {
  html {
    font-size: calc(100vw / 1400 * 10);
  }

  header ,
  .header-wrapper ,
  .contents-wrapper ,
  .top-wrapper ,
  footer ,
  .footer-wrapper ,
  .footer-privacy ,
  .another-top-wrapper ,
  .content-table-wrapper {
    width: 100%;
    min-width: 100%;
  }
}
/* スマホ版 */
@media screen and (max-width: 600px) {
  html {
    width: 100vw;
    font-size: calc(100vw / 600 * 10);
    
  }

  body {
    width: 60rem;
  }

  header {
    width: 60rem;
    height: 7.0000rem;
    position: fixed;
    z-index: 9999;
    min-width: 0;
  }

  .anchor {
    display: block;
    position: relative;
    top: -7.0000rem;
  }

  .header-wrapper {
    z-index: 9999;
    position: relative;
    background-color: #2699fb;
    height: 7.0000rem;
    width: 100%;
  }

  .contents-wrapper {
    width: 100%;
  }

  .logo {
    margin: 1.6000rem 0 1.6000rem 2.4000rem;
    width: 11.5000rem;
    height: 3.8000rem;
  }

  /* .wrapper {
    width: 60rem;
  } */

  .top-wrapper {
    height: 57.5000rem;
    padding-top: 7.0000rem;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 60rem;
  }
  .top-img {
    height: inherit;
    width: auto;
    margin-right: 5%;
  }

  .catchcopy {
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
  }

  .catchcopy h1 {
    font-size: 8.0000rem;
    line-height: 8.0000rem;
    text-shadow: 1.5000rem 1.6000rem 2.6000rem #00000053;
    font-family: Futura-PT-Bold;
  }

  .catchcopy h2 {
    font-size: 3.0000rem;
    position: absolute;
    top: 21.0000rem;
    padding-top: 0;
    line-height: 3.0000rem;
    left: 0;
    right: 0;
    margin: auto;
  }

  .circle-wrapper {
    bottom: 3.0000rem;
    height: 26.0000rem;
    width: 15.0000rem;
    right: 3.0000rem;
    margin: 0;
  }

  .circle-wrapper-single {
    height: 12.0000rem;
  }

  .recruit-circle,
  .entry-circle {
    right: 0;
    width: 11.0000rem;
    height: 11.0000rem;
  }

  .entry-circle {
    top: 14.0000rem;
  }

  .recruit-triangle {
    border: 1.2500rem solid transparent;
    border-top: 0;
    border-bottom: 2.1000rem solid white;
  }

  .recruit-circle a {
    font-size: 1.4000rem;
    line-height: 1.4000rem;
    padding-top: 1.1000rem;
  }

  .big-entry {
    font-size: 2.4000rem;
    line-height: 2.4000rem;
  }

  .small-entry {
    font-size: 1.4000rem;
    line-height: 1.4000rem;
    margin-bottom: 1.0000rem;
  }

  .catchcopy-text {
    position: relative;
  }

  .content-title {
    font-size: 4.0000rem;
    font-weight: 600;
    line-height: 1em;
  }

  .content-title-blue {
    font-size: 5.0000rem;
    line-height: 6.6000rem;
  }

  .content-title-white {
    font-size: 6.0000rem;
    line-height: 6.0000rem;
  }

  .content-subtitle-black {
    font-size: 2.0000rem;
  }

  .footer-address-1,
  .footer-address-2 {
    border: none;
    padding: 0;
    display: block;
    font-size: 1.6000rem;
  }

  .footer-contact {
    text-align: left;
    padding: 0 4.6000rem;
    font-size: 1.6000rem;
  }

  .kenkou-privacy-img {
    padding: 0;
    width: 100%;
    margin-top: 2.2000rem;
    margin-bottom: 5.4000rem;
  }

  .kenkou-img {
    margin-right: 3.4000rem;
    margin-left: 0;
    width: 15.0000rem;
    height: 6.8000rem;
  }

  .privacy-img {
    margin-right: 3.4000rem;
    margin-left: 0;
    width: 7.5000rem;
    height: 7.5000rem;
    padding: 0;
  }

  footer {
    width: 60rem;
    min-width: 0;
  }

  .footer-wrapper {
    width: 100%;
  }

  .footer-logo {
    display: none;
  }

  .footer3 {
    margin-top: 0;
    padding-top: 4.0000rem;
    margin-bottom: 0;
    width: 60rem;
  }

  .footer3 a {
    font-size: 1.8000rem;
    line-height: 1.5em;
    text-decoration: none;
  }

  .footer3 li {
    padding: 0 3.0000rem;
    line-height: 1.5em;
    display: flex;
    align-items: center;
  }

  .footer-privacy p {
    padding: 0;
    width: 54.8000rem;
    height: auto;
    margin-right: 2.6000rem;
    padding-bottom: 4.5000rem;
    font-size: 1.6000rem;
  }

  .footer-bottom {
    padding-top: 5.0000rem;
  }

  .footer-bottom p {
    font-size: 1.8000rem;
  }

  .footer-bottom > .footer-company-name {
    margin-bottom: 2.0000rem;
    font-weight: 700;
  }

  .footer-privacy {
    width: 60rem;
  }

  .chosakuken {
    padding-top: 5.0000rem;
    padding-bottom: 4.3000rem;
  }

  .footer-bottom > .chosakuken {
    font-size: 1.4000rem;
    padding-top: 4.0000rem;
    padding-bottom: 4.0000rem;
  }

  :root {
    --screen-ratio: 1;
  }

  .header-mobile-menu-bg {
    height: calc(60.0000rem / var(--screen-ratio) - 7.0000rem);
  }

  .header-right {
    display: none;
  }

  .header-mobile-menu-btn {
    width: 3.0000rem;
    height: 4.5000rem;
    position: relative;
    float: right;
    margin-right: 1.8000rem;
    margin-top: 2.2500rem;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    cursor: pointer;
  }

  .header-mobile-menu-btn span {
    display: block;
    position: absolute;
    height: 0.3000rem;
    width: 100%;
    background: #ffffff;
    border-radius: 0.3000rem;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: 0.25s ease-in-out;
    -moz-transition: 0.25s ease-in-out;
    -o-transition: 0.25s ease-in-out;
    transition: 0.25s ease-in-out;
  }

  .header-mobile-menu-btn span:nth-child(1) {
    top: 0.0000rem;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
  }

  .header-mobile-menu-btn span:nth-child(2) {
    top: 1.0000rem;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
  }

  .header-mobile-menu-btn span:nth-child(3) {
    top: 2.0000rem;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
  }

  .header-mobile-menu-btn.open span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0.0000rem;
    left: 0.8000rem;
  }

  .header-mobile-menu-btn.open span:nth-child(2) {
    width: 0%;
    opacity: 0;
  }

  .header-mobile-menu-btn.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 2.1000rem;
    left: 0.8000rem;
  }

  .header-mobile-menu-bg {
    width: 100vw;
    height: calc(100vh / 2 * 600);
    background-color: #2699fb;
    z-index: 9998;
    position: absolute;
    top: 7.0000rem;
  }

  .header-mobile-menu-bg.none {
    display: none;
  }

  @keyframes slide-down {
    from {
      transform: translateY(-100%);
    }

    to {
      transform: translateY(0%);
    }
  }

  @keyframes slide-up {
    from {
      transform: translateY(0%);
    }

    to {
      transform: translateY(-100%);
    }
  }

  .header-mobile-menu-bg ul {
    font-size: 4.0000rem;
    font-weight: 700;
  }

  .header-mobile-menu-bg a {
    color: #ffffff;
    text-decoration: none;
  }

  .header-mobile-menu-content {
    overflow: scroll;
    display: flex;
    justify-content: center;
    height: 100%;
  }

  .header-mobile-menu-content li {
    margin: 2.0000rem;
  }

  .mobile-line-break-600 {
    display: block;
  }

  .another-top-wrapper {
    width: 100%;
    height: 15.6000rem;
    padding-top: 7.0000rem;
    overflow: hidden;
  }

  .another-top-img {
    height: auto;
    width: 100%;
  }

  .another-top-title {
    top: 9.0000rem;
  }

  .another-top-title h1 {
    font-size: 4.0000rem;
  }

  .another-top-title h2 {
    font-size: 2.0000rem;
    padding-left: 1.0000rem;
    padding-right: 1.0000rem;
    margin-top: 1.0000rem;
  }

  .no-circle-pc {
    display: block;
    height: 15.0000rem;
  }

  .recruit-circle:hover {
    opacity: 0.7;
    top: 0.5000rem;
    transition: none;
  }

  .entry-circle:hover {
    opacity: 0.7;
    top: 19.0000rem;
    transition: none;
  }

  .arrow-grey {
    display: inline-block;
    width: 0.7000rem;
    height: 0.7000rem;
    border-top: solid 0.1500rem #b8b8b8;
    border-right: solid 0.1500rem #b8b8b8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 0.8000rem;
    margin-right: 0.8000rem;
    margin-bottom: 0.1000rem;
  }

  .another-top-title mark {
    padding-left: 0.8000rem;
    padding-right: 0.8000rem;
  }

  .no-line-break-1400 {
    display: none;
  }

  .blue-half-arrow {
    left: 0.4000rem;
    width: 17.9000rem;
    height: 0.2000rem;
    padding: 0 0 0 1.6000rem;
    font-size: 1.5000rem;
  }

  .blue-half-arrow::after {
    left: 18.5000rem;
    width: 0.8000rem;
    height: 0.8000rem;
    border-top: 0.2000rem solid #2699fb;
  }

  .content-table-wrapper {
    width: 100%;
    height: 30.0000rem;
    margin-top: -4.0000rem;
  }

  .content-table {
    width: 50.4000rem;
    height: 22.5000rem;
    top: 1.6000rem;
    left: 2.4000rem;
    padding: 1.6000rem 2.4000rem;
    box-shadow: 1.3000rem 1.3000rem 1.6000rem #00000012;
  }

  .content-table h1 {
    font-size: 1.6000rem;
    line-height: 1.6000rem;
    margin-bottom: 1.5000rem;
  }

  .content-table hr {
    display: none;
  }

  .content-icon {
    width: 2.2000rem;
    height: 2.2000rem;
    margin-right: 0;
    display: inline;
  }

  .content-page {
    margin-bottom: 1.9000rem;
    display: block;
  }

  .content-page-big {
    font-size: 1.8000rem;
    line-height: 1.8000rem;
    margin: 0 1.0000rem;
    display: inline;
  }

  .content-page-small {
    font-size: 1.4000rem;
    line-height: 1.4000rem;
    display: block;
    margin-left: 3.6000rem;
  }
}

@media screen and (max-width: 300px) {
  .mobile-line-break-300 {
    display: block;
  }
}

